"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/6/11 14:10
@Description : 
pymysql 使用数据库连接池   增加连接使用效率 减少数据库的开销
"""
import pymysql
from dbutils.pooled_db import PooledDB

# 初始化连接池对象
mysql_db_pool = PooledDB(
    host='127.0.0.1',
    port=3306,
    user='root',
    passwd='root',
    db='python2512',
    charset='utf8mb4',
    creator=pymysql,  # 连接数据库的模块
    maxconnections=5,  # 通常允许的最大连接数（默认值 0 或 None 表示任意数量的连接）
    mincached=2,  # 池中空闲连接的初始数量（默认值 0 表示启动时不建立任何连接）
    maxcached=3,  # 池中的最大空闲连接数（默认值 0 或 None 表示池大小不受限制）
    blocking=True  # 确定超过最大值时的行为（如果设置为 true，则阻止并等待，直到连接数减少，但默认情况下会报错）
)

connection = mysql_db_pool.connection()
cursor = connection.cursor()
cursor.execute('select * from user')
rows = cursor.fetchall()
for row in rows:
    print(row)

